return {
  {
    "stevearc/conform.nvim",
    opts = {},
    config = function()
      require('conform').setup {
        formatters = {
          eslintFix = {
            command = require 'conform.util'.from_node_modules('eslint'),
            -- args = { '--fix-dry-run', '--stdin', '--stdin-filename', '$FILENAME', '--format', 'json' },
            args = {'--fix', '$FILENAME'},
            stdin = false,
            -- A function that calculates the directory to run the command in
            cwd = require("conform.util").root_file({ ".editorconfig", "package.json" }),
          }
        },

        formatters_by_ft = {
          lua = { lsp_format = 'fallback' },
          javascript = { 'prettier', 'eslintFix' },
          typescript = { 'prettier', 'eslintFix' },
          javascriptreact = { 'prettier', 'eslintFix' },
          typescriptreact = { 'prettier', 'eslintFix' },
        },
        default_format_opts = {
          lsp_format = "fallback",
        },
      }

      local function format()
        require('conform').format({ bufnr = 0 })
      end


      local new_cmd = vim.api.nvim_create_user_command

      new_cmd('Format', format, {})
      vim.keymap.set('n', '<leader>fm', format, { desc = 'format file' })
      vim.keymap.set('n', '<leader>lf', format, { desc = 'format file' })
    end

  }
}
